package webservices;

import java.util.List;
import dao.DAOFactory;

import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET; 
import javax.ws.rs.HeaderParam;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path; 
import javax.ws.rs.PathParam; 
import javax.ws.rs.Produces; 
import javax.ws.rs.core.Context;
import javax.ws.rs.core.GenericEntity;
import javax.ws.rs.core.MediaType; 
import javax.ws.rs.core.Request;
import javax.ws.rs.core.UriInfo;

import sun.security.krb5.Credentials;
import classes.AkcijskiArtikal;


@Path("/akcijskiArtikli")
public class AkcijskiArtikalResource {
	@Context
    UriInfo uriInfo;
    @Context
    Request request;
 
 
	@Path("/svi")
	@GET
	@Produces(MediaType.APPLICATION_XML)
	public GenericEntity<List<AkcijskiArtikal>> vratiArtikle() {
		try {
			DAOFactory.connect();
			List<AkcijskiArtikal> artikli = DAOFactory.getAkcijskiArtikalDAO().selectSviAkcijskiArtikli();
			DAOFactory.disconnect();
			return new GenericEntity<List<AkcijskiArtikal>>(artikli){};
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return null;
		}
	}
	
	@POST
	@Path("artikal/obrisi")
	@Consumes(MediaType.APPLICATION_XML)
	@Produces(MediaType.APPLICATION_XML)
	public String obrisiArtikal(@HeaderParam("username")String username, @HeaderParam("password")String password, String sIDArtikal){
		try{
			int idArtikla = Integer.parseInt(sIDArtikal);
		  	DAOFactory.connect();
		  	int i= DAOFactory.getAkcijskiArtikalDAO().deleteAkcijskiArtikal(idArtikla);;
		  	if (i!=1){
		  		DAOFactory.disconnect();
		  		return Boolean.toString(false);
		  	}
		  	DAOFactory.disconnect();
		  	return Boolean.toString(true);
		}
		catch(Exception e){
			e.printStackTrace();
			return Boolean.toString(false);
		}
	}
	
	@PUT
	@Path("artikal/dodaj")
	@Consumes(MediaType.APPLICATION_XML)
	@Produces(MediaType.APPLICATION_XML)
	public int dodajArtikal(@HeaderParam("username")String username, @HeaderParam("password")String password, AkcijskiArtikal a){
		try{
			DAOFactory.connect();
		  	int i = DAOFactory.getAkcijskiArtikalDAO().insertArtikalAkcija(a);
		  	if (i!=1){
		  		DAOFactory.disconnect();
		  		return 0;
		  	}
		  	DAOFactory.disconnect();
		  	return 1;
		}
		catch(Exception e){
			e.printStackTrace();
			return 0;
		}
	}
	
	@Path("/cijenaArtikla")
	@GET
	@Produces(MediaType.APPLICATION_XML)
	public float vratiCijenu(int id) {
		float cijena=0;
		try {
			DAOFactory.connect();
			cijena = DAOFactory.getAkcijskiArtikalDAO().dajAkcijskuCijenu(id);
			DAOFactory.disconnect();
			
		} catch (Exception e) {
			e.printStackTrace();
		}
		finally{
			return cijena;
		}
	}

}
